export function buildMenuTree(permissions) {
    // 筛选出所有菜单类型的权限
    const menus = permissions.filter((item) => item.type === 'menu');
  
    // 创建一个 id -> menu 映射
    const menuMap = new Map(menus.map((menu) => [menu.id, { ...menu, children: [] }]));
  
    // 构建树形结构
    const tree = [];
    menus.forEach((menu) => {
      if (menu.parent_id === null) {
        // 如果没有父级，则为顶级菜单
        tree.push(menuMap.get(menu.id));
      } else if (menuMap.has(menu.parent_id)) {
        // 如果有父级，则加入父级的 children
        menuMap.get(menu.parent_id).children.push(menuMap.get(menu.id));
      }
    });
  
    return tree;
  }
  
  